<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>async-await</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/axios/0.19.2/axios.js"></script>
</head>
<body>

<script type="text/javascript">


   //async作为一个关键字放到函数前面
    async function queryData() {
        // await关键字只能在使用async定义的函数中使用   await后面可以直接跟一个 Promise实例对象
        var ret = await new Promise(function(resolve, reject){
            setTimeout(function(){
                resolve('nihao')
            },1000);
        })
        // console.log(ret.data)
        return ret;
    }
   //任何一个async函数都会隐式返回一个promise   我们可以使用then 进行链式编程
    queryData().then(function(data){
        console.log(data)
    })

    //async    函数处理多个异步函数

   axios.defaults.baseURL = 'http://js.cn/';
    async function queryData() {
        // 添加await之后 当前的await 返回结果之后才会执行后面的代码

        var info = await axios.get('api/axios.php?a=1');
       // 让异步代码看起来、表现起来更像同步代码
        var ret = await axios.get('api/axios.php?a=' + info.data);
        return ret.data;
    }

    queryData().then(function(data){
        console.log(data)
    })
</script>

</body>
</html>